package com.hsgene.order.dto.console;

import com.hsgene.common.util.validation.FieldChecker;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 订单套餐退款信息
 *
 * @author wangbing
 * @version 1.0
 * @date 2019/1/17 15:43
 * Copyright: Copyright (c) 2019
 */
public class OrderRefundPackageDto implements Serializable {

    private static final long serialVersionUID = 8438897371469298949L;
    /**
     * 套餐id
     */
    private String packageId;

    /**
     * 套餐名称
     */
    private String packageName;

    /**
     * 套餐费用
     */
    private BigDecimal amount;

    /**
     * 退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 订单套餐状态
     */
    private Integer status;

    /**
     * 订单套餐状态描述
     */
    private String statusDesc;

    public void check() {
        FieldChecker.checkEmpty(packageId, "订单套餐id");
        FieldChecker.checkEmpty(packageName, "订单套餐名称");
        FieldChecker.checkEmpty(amount, "套餐费用");
        FieldChecker.checkMinMaxValue(refundAmount, BigDecimal.ZERO, amount, packageName + " 退款金额");
    }

    public String getPackageId() {
        return packageId;
    }

    public void setPackageId(String packageId) {
        this.packageId = packageId;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }
}
